package com.hunttown.mes.rpc.api;

import com.hunttown.common.domain.Page;
import com.hunttown.mes.rpc.domain.LbsTerminalDTO;
import com.hunttown.mes.rpc.domain.query.LbsTerminalDTOQuery;

/**
 * created by wangjunfu on 2021-07-05 11:06:21
 */
public interface LbsTerminalRpcService {

    LbsTerminalDTO insert(LbsTerminalDTO lbsTerminalDTO);

    Boolean updateInfoById(LbsTerminalDTO lbsTerminalDTO);

    Boolean updateInfoByQuery(LbsTerminalDTOQuery lbsTerminalDTOQuery);

    LbsTerminalDTO selectById(Integer id);

    LbsTerminalDTO selectObjByQuery(LbsTerminalDTOQuery lbsTerminalDTOQuery);

    LbsTerminalDTO selectObjWithoutEnt(LbsTerminalDTOQuery lbsTerminalDTOQuery);

    Page<LbsTerminalDTO> getListForPage(LbsTerminalDTOQuery lbsTerminalDTOQuery);

    Boolean deleteById(Integer id);

    /**
     * 创建终端，公用（三端通用）
     *
     * @param clientType 1PC/2WXAPP/3H5/4ANDROID/5IOS/6IPAD/7GPS/8POS
     * @param userType   1管理员/2司机/3会员/6车辆
     * @param userId     userType所对应的id都有可能（创建终端时起作用）
     * @param mobile     手机号
     * @param entId      企业ID
     * @return terminal
     */
    LbsTerminalDTO createTerminal(Integer clientType, Integer userType, Integer userId, String mobile, Integer entId);
}